<template>
    <div>
        <input type="text" v-model="b">
        <span>{{ b }}</span>
    </div>

</template>



<script setup>
import { customRef, ref } from 'vue';

// 自定义的ref
// const a = ref('000')
// track追踪，trigger触发
// const num = customRef((track, trigger) => {
//     return {
//         get() {
//             track() //追踪
//             return a.value
//         },
//         set(value) {
//             trigger()//触发
//             a.value=value
//         }
//     }

// })

function myRef(value,dalay){
    let timeout
    return customRef((track,trigger)=>{
        return{
            get(){
                track()//追踪
                return value
            },
            set(newVal){
                clearTimeout(timeout)
                console.log('111');
                timeout=setTimeout(()=>{
                    value=newVal
                    trigger()//触发
                },1000)
            }
        }
    })
}

const b = myRef(10,)


</script>



<style scoped></style>